// 多数元素

// 给定一个大小为 n 的数组 nums ，返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。
// 你可以假设数组是非空的，并且给定的数组总是存在多数元素。

// 示例 1：
// 输入：nums = [3,2,3]
// 输出：3

// 示例 2：
// 输入：nums = [2,2,1,1,1,2,2]
// 输出：2

function majorityElement(nums) {
  // 初始化一个空对象，用于存储每个元素出现的次数
  const map = {};
  // 遍历数组
  for (let i = 0; i < nums.length; i++) {
    // 如果当前元素不在对象中
    if (!map[nums[i]]) {
      // 初始化当前元素的出现次数为 1
      map[nums[i]] = 1;
    } else {
      // 如果当前元素已经在对象中，将其出现次数加 1
      map[nums[i]]++;
    }
  }

  // 遍历对象
  for (let key in map) {
    // 如果当前元素的出现次数大于数组长度的一半
    if (map[key] > nums.length / 2) {
      // 返回当前元素
      return Number(key);
    }
  }
}